package com.mars.junit.mq.consumer;

import java.io.Serializable;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;

import org.springframework.stereotype.Component;

import com.mars.junit.mq.MQEntity;

/**
 * 使用MessageListener来接收消息 需要在Spring配置文件中配置
 * 
 * <p>标题: QueueMessageConsumer2</p>
 * <p>描述: </p>
 * <p>公司: www.yhaoquan.com</p> 
 * @作者： 杨浩泉
 * @日期：2016年12月4日
 * @版本：1.0
 */
@Component
public class QueueMessageConsumer2 implements MessageListener {

	@Override
	public void onMessage(Message message) {
		// 发送的消息是Serializable类型的，所以进行判断类型是否匹配
		if (message instanceof ObjectMessage) {
			try {
				ObjectMessage objectMessage = (ObjectMessage) message;
				Serializable object = objectMessage.getObject();
				MQEntity entity = (MQEntity) object;
				System.out.println("接收到的消息：" + entity);
			} catch (JMSException ex) {
				throw new RuntimeException(ex);
			}
		} else {
			throw new IllegalArgumentException("Message must be of type TextMessage");
		}
	}

}
